/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ideastec.mipyme.model.entidadcomercial;

import com.ideastec.mipyme.model.EntidadPersistible;
import com.ideastec.mipyme.model.categoriadeiva.CategoriaDeIva;
import com.ideastec.mipyme.model.agrupacionentidadcomercial.AgrupacionEntidadComercial;
import com.ideastec.mipyme.model.email.Email;
import com.ideastec.mipyme.model.direccion.Direccion;
import com.ideastec.mipyme.model.telefono.Telefono;
import com.ideastec.mipyme.model.fax.Fax;
import com.ideastec.mipyme.model.paginaweb.PaginaWeb;
import com.ideastec.mipyme.model.formadepagocliente.FormaDePagoCliente;
import com.ideastec.mipyme.model.formadepagoproveedor.FormaDePagoProveedor;
import com.ideastec.mipyme.model.tarifadecompra.TarifaDeCompra;
import com.ideastec.mipyme.model.listadeprecios.ListaDePrecios;

import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import java.util.Set;
import java.util.HashSet;


/**
 *
 * @author Diego Rafael Graf
 */

public class EntidadComercial extends EntidadPersistible{
    
    private String razonsocial, cuit_cuil, ingresosbrutos, dni;
    
    private CategoriaDeIva categoriadeiva; 
    
    //private AgrupacionEntidadComercial agrupacionentidadcomercial;
    
    private Boolean activo, proveedor, cliente, estadodecredito;
    
   // private Set<Email> emails = new HashSet<Email>();
    
   // private Set<Direccion> direcciones = new HashSet<Direccion>();
    
   // private Set<Telefono> telefonos = new HashSet<Telefono>();    
    
   // private Set<Fax> faxes = new HashSet<Fax>();
    
   // private Set<PaginaWeb> paginas = new HashSet<PaginaWeb>();
    
   // private FormaDePagoCliente formadepagocliente;  
    
   // private FormaDePagoProveedor formadepagoproveedor;  
    
   // private TarifaDeCompra tarifadecompra;
    
   // private ListaDePrecios listadeprecio;
    
   // private Long limitedecredito;
    
    public EntidadComercial(){
        
    }
    
    public EntidadComercial(String razonsocial, String cuit_cuil, String ingresosbrutos, String dni, Boolean activo, Boolean cliente, Boolean proveedor, Boolean estadodecredito){
        
        this.razonsocial = razonsocial;
        this.cuit_cuil = cuit_cuil;
        this.ingresosbrutos = ingresosbrutos;
        this.dni = dni;
        this.activo = activo;
        this.cliente = cliente;
        this.proveedor = proveedor;
        this.estadodecredito = estadodecredito;
        
    }  
    
   /* public EntidadComercial(String razonsocial, String cuit_cuil, CategoriaDeIva categoriadeiva, 
            AgrupacionEntidadComercial agrupacionentidadcomercial, Boolean activo, Boolean proveedor,
            Boolean cliente, Boolean estadodecredito){
        
        this.razonsocial = razonsocial;
        this.cuit_cuil = cuit_cuil;
        this.categoriadeiva = categoriadeiva;
        this.agrupacionentidadcomercial = agrupacionentidadcomercial;
        this.activo = activo;
        this.proveedor = proveedor;
        this.cliente = cliente;
        this.estadodecredito = estadodecredito;
        
    }  */
    
    public String getRazonsocial(){
       return this.razonsocial;
    }
    
    public void setRazonsocial(String razonsocial){
       this.razonsocial = razonsocial;
    }
    
    public String getCuit_cuil(){
       return this.cuit_cuil;
    }
    
    public void setCuit_cuil(String cuit_cuil){
       this.cuit_cuil = cuit_cuil;
    }
    
    public String getIngresosbrutos(){
       return this.ingresosbrutos;
    }
    
    public void setIngresosbrutos(String ingresosbrutos){
       this.ingresosbrutos = ingresosbrutos;
    }
    
    public String getDni(){
       return this.dni;
    }
    
    public void setDni(String dni){
       this.dni = dni;
    }
    
    /*public CategoriaDeIva getCategoriadeiva(){
       return this.categoriadeiva;
    }
    
    public void setCategoriadeiva(CategoriaDeIva categoriadeiva){
       this.categoriadeiva = categoriadeiva;
    }
    
    public AgrupacionEntidadComercial getAgrupacionentidadcomercial(){
       return this.agrupacionentidadcomercial;
    }
    
    public void setAgrupacionentidadcomercial(AgrupacionEntidadComercial agrupacionentidadcomercial){
       this.agrupacionentidadcomercial = agrupacionentidadcomercial;
    }*/
    
    public Boolean getActivo(){
       return this.activo;
    }
    
    public void setActivo(Boolean activo){
       this.activo = activo;
    }
    
    public Boolean getProveedor(){
       return this.proveedor;
    }
    
    public void setProveedor(Boolean proveedor){
       this.proveedor = proveedor;
    }
    
    public Boolean getCliente(){
       return this.cliente;
    }
    
    public void setCliente(Boolean cliente){
       this.cliente = cliente;
    }
    
    public Boolean getEstadodecredito(){
       return this.estadodecredito;
    }
    
    public void setEstadodecredito(Boolean estadodecredito){
       this.estadodecredito = estadodecredito;
    }
    
   /* public Set<Email> getEmails(){
       return this.emails;
    }*/
    
   /*public void setEmails(Set<Email> emails){
       this.emails = emails;
    }*/
    
    /*public Set<Direccion> getDirecciones(){
       return this.direcciones;
    }*/
    
    /*public void setDirecciones(Set<Direccion> direcciones){
       this.direcciones =  direcciones;
    }*/
    
    /*public Set<Telefono> getTelefonos(){
       return this.telefonos;
    }*/
    
   /* public void setTelefonos(Set<Telefono> telefonos){
       this.telefonos = telefonos;
    }*/
    
    /*public Set<Fax> getFaxes(){
       return this.faxes;
    }*/
    
   /* public void setFaxes(Set<Fax> faxes){
       this.faxes = faxes;
    }*/
    
    /*public Set<PaginaWeb> getPaginas(){
       return this.paginas;
    }*/
    
    /*public void setPaginas(Set<PaginaWeb> paginas){
       this.paginas = paginas;
    }*/
    
   /* public FormaDePagoCliente getFormadepagocliente(){
       return this.formadepagocliente;
    }
    
    public void setFormadepagocliente(FormaDePagoCliente formadepagocliente){
       this.formadepagocliente = formadepagocliente;
    }
    
    public FormaDePagoProveedor getFormadepagoproveedor(){
       return this.formadepagoproveedor;
    }
    
    public void setFormadepagoproveedor(FormaDePagoProveedor formadepagoproveedor){
       this.formadepagoproveedor = formadepagoproveedor;
    }
    
    public TarifaDeCompra getTarifadecompra(){
       return this.tarifadecompra;
    }
    
    public void setTarifadecompra(TarifaDeCompra tarifadecompra){
       this.tarifadecompra = tarifadecompra;
    }
    
    public ListaDePrecios getListadeprecio(){
       return this.listadeprecio;
    }
    
    public void setListadeprecio(ListaDePrecios listadeprecios){
       this.listadeprecio = listadeprecios;
    }
    
    public Long getLimitedecredito(){
       return this.limitedecredito;
    }
    
    public void setLimitedecredito(Long limitedecredito){
       this.limitedecredito = limitedecredito;
    }*/
    
     @Override
     public String toString(){
        return this.razonsocial;
     }
     
     @Override
     public boolean equals(Object objeto){
         if(objeto == null || !objeto.getClass().isAssignableFrom(EntidadComercial.class)){
             return false;
         }else{
             EntidadComercial entidadcomercial2 = (EntidadComercial) objeto;
             return new EqualsBuilder().append(entidadcomercial2.getRazonsocial(), this.getRazonsocial()).isEquals();
         }
     }
    
     @Override
     public int hashCode(){
         return new HashCodeBuilder().append(this.getRazonsocial()).append(this.getRazonsocial()).toHashCode();
     }
     
     
     /*@Override
     public boolean equals(Object objeto){
         if(objeto == null || !objeto.getClass().isAssignableFrom(EntidadComercial.class)){
             return false;
         }else{
             EntidadComercial entidadcomercial2 = (EntidadComercial) objeto;
             return new EqualsBuilder().append(entidadcomercial2.getCuit_cuil(), this.getCuit_cuil()).isEquals();
         }
     }
    
     @Override
     public int hashCode(){
         return new HashCodeBuilder().append(this.getCuit_cuil()).append(this.getCuit_cuil()).toHashCode();
     }*/
    
}
